操作符
1.赋值和引用(别名);
=我们最常见;意思可以使等于,也可以是赋值,在Java中,赋值也是有坑的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public class Tank { int level; } public static void main(String[] args) { Tank tank1 = new Tank(); tank1 .level = 1; Tank tank2 = new Tank(); tank2. level = 2; System.out.println(tank1.level); System.out.println(tank2.level); tank1 = tank2; System.out.println(tank1.level); System.out.println(tank2.level); tank1.level = 27; System.out.println(tank2.level); }
|
对上面的赋值 tank1=tank2 来说,好像是在说你以后什么值都和他相等就对了;但其实不是的,tank1 = tank2 是在讲tank1 以后和tank2 都指向同一个对象了;
tank1 和tank2 本质都是引用,现在他们指向同一个对象了,那么不管这个对象的level怎么变化,tank1和tank2 都是一个值;
打个比方好了 不管叫做对象名或者引用什么的;我们将对象看成人,将引用看成名字或代号,说家里两兄弟,哥哥去打仗了,对弟弟说,这一去恐怕就回不来了,带着我的名字活下去吧;
那么从此以后弟弟就有了两个名字同时代表他;而哥哥恐怕就被当做不存在喽;
ps:本章有很多关于操作符的相关内容能够,用到再看吧,反正记不住;